package exception;

import java.util.SortedMap;

/**
 * 异常处理
 *
 * Throwable是所有异常的超类  派生了下面两个子类型
 * Exception  可恢复的
 * Error    不可恢复的
 */
public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("程序开始");
        String line = "a";
        try {
            System.out.println(line.length());
            System.out.println(line.charAt(0));
            System.out.println(Integer.parseInt(line));
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        }catch (NullPointerException | StringIndexOutOfBoundsException e){
            System.out.println("出现了一个空指针或数组下标越界异常");
            System.out.println("产生了一个异常"+e);
        }catch (Exception e){
            System.out.println("产生了一个未知异常:"+e);
        }
        finally {
            System.out.println("程序结束");
        }
        System.out.println("结束2");
    }
}
